package com.sc.nft.entity.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;
import java.util.Map;

@Data
public class ImGetGroupInfoDTO {

    @ApiModelProperty("需要拉取的群组列表数据")
    private List<String> groupIdList;

    @ApiModelProperty("包含三个过滤器：GroupBaseInfoFilter，MemberInfoFilter，AppDefinedDataFilter_Group，分别是基础信息字段过滤器，成员信息字段过滤器，群组维度的自定义字段过滤器")
    private Filter responseFilter;

    @Data
    public static class Filter {

        @ApiModelProperty("过滤器")
        private Map map;

        @ApiModelProperty("如果基础信息字段，请在此数组中添加")
        private List<String> groupBaseInfoFilter;

        @ApiModelProperty("如果需要成员信息，请添加此数组")
        private List<String> memberInfoFilter;

        @ApiModelProperty("群组维度的自定义字段过滤，该默认情况是没有的")
        private List<String> appDefinedDataFilterGroup;

        @ApiModelProperty("群成员维度自定义字段过滤，该默认情况是没有的")
        private List<String> appDefinedDataFilterGroupMember;

        public void setMap(Map map) {
            map.put("GroupBaseInfoFilter", groupBaseInfoFilter);
            map.put("MemberInfoFilter", memberInfoFilter);
            map.put("AppDefinedDataFilter_Group", appDefinedDataFilterGroup);
            map.put("AppDefinedDataFilter_GroupMember", appDefinedDataFilterGroupMember);
            this.map = map;
        }

    }

}
